This flag is always " cleared ", except during the collection cycle.
2.
The time frame should be tied to their collection cycle.
3.
If the generational hypothesis holds, this results in much faster collection cycles while still reclaiming most unreachable objects.
4.
Initially, objects are allocated in " to space " until it becomes full and a collection cycle is triggered.
5.
As the reference tree is traversed during a collection cycle ( the " mark " phase ), these bits are manipulated by the collector.
6.
Incremental garbage collectors perform the garbage collection cycle in discrete phases, with program execution permitted between each phase ( and sometimes during some phases ).
7.
Tracing garbage collection cycles are triggered too often if the set of live objects fills most of the available memory; it requires extra space to be efficient.
8.
This has the obvious disadvantage that the program can perform no useful work while a collection cycle is running ( sometimes called the " embarrassing pause " ).
9.
It uses generational garbage collection where new objects are allocated from a nursery, during the garbage collection cycle, all objects that survived are migrated to an older generation memory pool.
10.
Manual allocation does not suffer from the long " pause " times that occur in simple stop-the-world garbage collection, although modern garbage collectors have collection cycles which are often not noticeable.